package com.ssyt.yt1.day30.echo.demo3;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

/**
 * 
 <pre>
 * 客户端
 * Echo程序，是网络编程的一个经典案例，称为回应程序，即：客户端输入哪
 * 些内容，服务端会在这些内容前加上“Echo:“并将信息返回客户端。
 * 其它要求：
 * a）客户端可以多次输入		         
 * b）如果客户端输入exit则客户端退出。
 * </pre>
 */
public class EchoClient2 {

	public static void main(String[] args) throws UnknownHostException,
			IOException {
		// 1）建立Socket连接
		Socket socket = new Socket("localhost", 8989);
		// 2）获得输入输出流、3）读写数据
		Scanner scanner = new Scanner(System.in);
		Scanner scan = null;
		OutputStream outputStream = null;
		InputStream inputStream = null;
		while (true) {
			System.out.println("请输入内容：");
			String inputContent = scanner.nextLine();

			outputStream = socket.getOutputStream();
			outputStream.write((inputContent + "\n").getBytes());
			if ("exit".equals(inputContent)) {
				break;
			}

			inputStream = socket.getInputStream();
			scan = new Scanner(inputStream);
			System.out.println(scan.nextLine());
		}
		// 4）关闭输入输出流
		scan.close();
		outputStream.close();
		scanner.close();
		// 5）关闭Socket
		socket.close();
	}
}
